package com.ExcelServer.util;

import com.ExcelServer.pojo.entity.BaseTableColumns;
import com.ExcelServer.service.impl.BaseTableColumnsServiceImpl;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

//业绩相关动态表中必须存在的三个字段。
@Component
@Data
public class BaseTableUtil {

    @Autowired
    BaseTableColumnsServiceImpl baseTableColumnsService;

    /**
     * 教师id
     **/
    private String teacherId;

    /**
     * 积分标准id
     **/
    private Integer pointsCriteriaId;

    private Integer isAudit;



    /**
     *  --- 略 下列是获取表头名称的函数（内定三个必须字段）
     * */
    public String getTeacherIdHeader(){
        return "teacherId";
    }

    public String getPointsCriteriaIdHeader(){
        return "pointsCriteriaId";
    }

    public String getIsAuditHeader(){
        return "isAudit";
    }

    /**
     * 改进：表头控制器： 使用mysql的表进行操控基本表格内容（预留表格）。
     *
     * */

    /**
     * 获取 mysql列 与 默认 值 的方法函数
     * */
    public List<Map<String,String>> getColumns(){
        List<BaseTableColumns> list = baseTableColumnsService.list();
        List<Map<String,String>> stringList = new ArrayList<>();
        for (int i = 0; i < list.size(); i++) {
            Map<String,String> map = new HashMap<>();
            map.put(list.get(i).getColumnsName(),list.get(i).getDefaultValue());
            stringList.add(map);
        }
        return stringList;
    }

    /**
     * 获取 mysql列 与 前端展示列的 方法函数
     * */
    public List<Map<String,String>> getFMColumnsMap(){
        List<BaseTableColumns> list = baseTableColumnsService.list();
        List<Map<String,String>> stringList = new ArrayList<>();
        for (int i = 0; i < list.size(); i++) {
            Map<String,String> map = new HashMap<>();
            map.put(list.get(i).getColumnsName(),list.get(i).getFColumnsName());
            stringList.add(map);
        }
        return stringList;
    }


}
